//<!--******************************************************************************************-->
//
//  警告: 本電腦程式著作受著作權法及國際公約之保護。
//  未經授權擅自複製或散佈本電腦程式著作之全部或部分
//  ，將導致嚴厲的民事或刑事處份，且將被依法提起最大
//  範圍的追訴。
//
//  CopyRight (C) Galaxy Software Service
//<!--******************************************************************************************-->
//*******************************************************************************
//程式代號：GSSComBox30.JS
//程式名稱：GSSComBox30.JS
//目    的：與ComBox有關的JS Script
//範   例 ：無
//版本變更：
//  xx. YYYY/MM/DD   VER     AUTHOR      COMMENTS
//   1. 2002/08/07   3.00    CRD         New Create
//*******************************************************************************

//<!--******************************************************************************************-->
//函數名稱：GSSgetListBoxAttr
//目    的：取得清單選項集合字串
//參數說明：vobjListBox - 清單物件或其名稱屬性
//回傳值：清單選項集合字串(選項1Value\|選項1Tex\,選項2Value\|選項2Text...)
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSgetListBoxVal(vobjListBox){
    var strColListBox='';

    if(typeof(vobjListBox)!='object'){
        vobjListBox=event.srcElement;}
    if(typeof(vobjListBox)!='object') return false;
    for(i=0;i<vobjListBox.length;i++){
        strColListBox=strColListBox + vobjListBox.options[i].value + '\\|';
        strColListBox=strColListBox + vobjListBox.options[i].text + '\\,';}
    return strColListBox.substr(0,strColListBox.length-2);
}

//<!--******************************************************************************************-->
//函數名稱：GSSgetListBoxAttr
//目    的：取得清單選項集合字串
//參數說明：vobjListBox - 清單物件或其名稱屬性
//			vstrAttr - 除了value屬性外需取得的屬性值
//回傳值：清單選項集合字串(VALUE\?選項1Value\|屬性1名稱\?屬性1值\,...)
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSgetListBoxAttr(vobjListBox,vstrAttr){
    var strColListBox='';
    var strTag='';

    if((!vstrAttr)||(vstrAttr=='')) return;

    var arrAttr=vstrAttr.split(',');
    if(typeof(vobjListBox)!='object') return false;
    for(i=0;i<vobjListBox.length;i++){
    	if(i>0) strColListBox += '\\,';
    	strColListBox += 'VALUE\\?' + vobjListBox.options[i].value;
    	for(j=0;j<arrAttr.length;j++){
    		strColListBox += '\\|';
        	strColListBox += arrAttr[j] + '\\?' + GSSgetAttribute(vobjListBox.options[i],arrAttr[j]);
        }
	}
    return strColListBox;
}

//<!--******************************************************************************************-->
//函數名稱：GSSClearCbo
//目    的：移除清單中目前選擇的多個選項
//傳入參數：vintProcessType - 預設1,只清除選擇的選項 2 - 清除所有選項不管是否有選擇該選項
//			vObj - 清單物件(未傳遞時,預設取得觸發事件的物件)
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSClearCbo(vintProcessType,vObj){
    var blnSel;
    if(!vintProcessType) vintProcessType=1;
    if(!vObj){
        var objTR=GSSGetParentElementByTag(event.srcElement,'TR');
        //因為第0個DIV為CTLSELECTEDTREE所使用的DIV非TREE物件
        var objTree=objTR.cells[0].getElementsByTagName('DIV')(1);
        var objListBox=objTR.cells[2].getElementsByTagName('SELECT')(0);}
    else{
        if(typeof(vObj)=='object'){
            var objListBox=vObj;}
        else{
            var objDocument=GSSGetDocument();
            var objListBox=objDocument.getElementById(vObj);}
    }
    if(typeof(objListBox)!='object') return false;
    var intCount=objListBox.options.length;
    for (var i=intCount-1; i>=0; i--) {
        blnSel=objListBox.options[i].selected;
        if(blnSel) objListBox.options[i].selected=false;
        if((vintProcessType!=1)||(blnSel)){
            objListBox.remove(i);}
    }
}

//<!--******************************************************************************************-->
//函數名稱：GSSRemoveCboOpt
//目    的：移除清單中目前選擇的項目
//傳入參數：vObj - 清單物件(未傳遞時,預設取得觸發事件的物件)
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSRemoveCboOpt(vObj){
	if(!vObj){
		var objComBox=event.srcElement;}
	else{
		var objComBox=vObj
	}
    var intCount=objComBox.options.length;
    for (var i=intCount-1; i>=0; i--) {
        blnSel=objComBox.options[i].selected;
        if(blnSel){
        	objComBox.options[i].selected=false;
			objComBox.remove(i);
		}
    }
}

//<!--******************************************************************************************-->
//函數名稱：GSSRemoveAllOpts
//目        的：移除清單中所有選項
//傳入參數：vObj - 清單物件(未傳遞時,預設取得觸發事件的物件)
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSRemoveAllOpts(vObj){
	if(!vObj){
		var objComBox=event.srcElement;}
	else{
		var objComBox=vObj
	}
    var intCount=objComBox.options.length;
    for (var i=intCount-1; i>=0; i--) {
        blnSel=objComBox.options[i].selected;
        if(blnSel) objComBox.options[i].selected=false;
		objComBox.remove(i);
    }
}
//<!--******************************************************************************************-->
//函數名稱：GSSAddCboOpt
//目        的：將字串集合資料轉換成ComBox物件Option選項資料
//參數說明：vObj：欲處理的ComBox物件（或者是欲處理的ComBox物件的ID）
//			vstrData：ComBox物件Option選項資料來源字串
//			資料格式：Option1 Value\|Option1 Text\,Option2 Value\|Option2 Text
//			每個Option的Value與Text資料分隔符號為\|，每個Option資料的分隔符號為\,
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSAddCboOpt(vObj,vstrData){
    var arrData;

    if(!vObj) return false;
    var objDocument=GSSGetDocument();
    if(typeof(vObj)=='object'){
        var objListBox=vObj;}
    else{
        var objListBox=objDocument.getElementById(vObj);}
    arrData=vstrData.split('\\,');
   //alert (vntRetArray[0]);
   //alert (RowIndex);
   for(var i=0;i<arrData.length;i++){
     intIndex=arrData[i].indexOf('\\|', 0)
     var objNewItem = objDocument.createElement('OPTION');
     objNewItem.text = arrData[i].substr(intIndex+2,arrData[i].length-intIndex-2);
     objNewItem.value = arrData[i].substr(0,intIndex);
     objListBox.options.add(objNewItem);
   }
   objListBox.selectedIndex = -1;
}

//<!--******************************************************************************************-->
//函數名稱：GSSAddDataReadOpt
//目        的：將資料讀取中的選項加入清單物件中
//傳入參數：vObj - 清單物件(未傳遞時,預設取得觸發事件的物件)
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSAddDataReadOpt(vObj){
	GSSAddCboOpt(vObj,'\|資料擷取中．．．');
}

//<!--******************************************************************************************-->
//函數名稱：GSSsetRelObjDataByListBox
//目        的：根據GSS_REL_OBJ屬性,設定與此清單物件有關的物件
//			(名稱等於GSS_REL_OBJ屬性值)的value值
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSsetRelObjDataByListBox(){
	var objSrc=event.srcElement;
	var strRelInfo=GSSgetAttribute(objSrc,'GSS_REL_OBJ');
	if(strRelInfo=='') return;
	var arrRelInfo=strRelInfo.split(',');
	var objRel=document.all[arrRelInfo[0]];
	var intSelIndex=objSrc.selectedIndex;
	objRel.value=GSSgetAttribute(objSrc.options[intSelIndex],arrRelInfo[1]);
}

//<!--******************************************************************************************-->
//函數名稱：GSSsetRelObjDataByListBox
//目        的：根據GSS_REL_OBJ屬性,設定與此輸入物件(INPUT TYPE=TEXT)有關的物件
//			(名稱等於GSS_REL_OBJ屬性值)的value值
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSsetRelObjDataByTextBox(){
	var objSrc=event.srcElement;
	var strRelInfo=GSSgetAttribute(objSrc,'GSS_REL_OBJ');
	if(strRelInfo=='') return;
	var arrRelInfo=strRelInfo.split(',');
	var objRel=document.all[arrRelInfo[0]];
	var intSelIndex=objRel.selectedIndex;
	objRel.options[intSelIndex].setAttribute(arrRelInfo[1],objSrc.value);
}